package com.lantosec.hmrp.modules.eval.vo;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.lantosec.hmrp.modules.eval.entity.EvalEventExtraduty;
import com.lantosec.hmrp.modules.eval.entity.EvalTaskEvent;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 考评任务项目事件 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-03-19
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="EvalTaskEvent对象", description="考评任务项目事件")
public class EvalTaskEventVO extends BaseVO<EvalTaskEvent> {
    private static final long serialVersionUID = 1L;


    public EvalTaskEventVO(EvalTaskEvent entity){
        this.evalTaskEventId = entity.getEvalTaskEventId();
        this.evalDetailedItemId = entity.getEvalDetailedItemId();
        this.evalDetailedId = entity.getEvalDetailedId();
        this.evalTaskId = entity.getEvalTaskId();
        this.evalItemId = entity.getEvalItemId();
        this.eventDate = entity.getEventDate();
        this.rewardOrientation = entity.getRewardOrientation();
        this.rewardType = entity.getRewardType();
        this.rewardValue = entity.getRewardValue();
        this.eventDescribe = entity.getEventDescribe();
        this.evidencePhotoList = entity.getEvidencePhotoList();
        this.extraDuty = entity.getExtraDuty();
        this.createUserId = entity.getCreateUserId();
        this.createUser = entity.getCreateUser();
        this.createTime = entity.getCreateTime();
        this.reviewState = entity.getReviewState();
        this.reviewUser = entity.getReviewUser();
        this.reviewUserId = entity.getReviewUserId();
        this.reviewTime = entity.getReviewTime();
        this.reviewRemark = entity.getReviewRemark();
    }

    @Override
    public EvalTaskEvent convertToEntity(){
        return new EvalTaskEvent(this);
    }


    @ApiModelProperty(value = "考评项目事件ID")
    private Integer evalTaskEventId;

    @ApiModelProperty(value = "考评明细项ID")
    private Integer evalDetailedItemId;

    @ApiModelProperty(value = "考评明细ID")
    private Integer evalDetailedId;

    @ApiModelProperty(value = "考评任务ID")
    private Integer evalTaskId;

    @ApiModelProperty(value = "考评项目ID")
    private String evalItemId;

    @ApiModelProperty(value = "事件发生时间(yyyy-MM-dd)")
    private String eventDate;

    @ApiModelProperty(value = "奖惩方向(1分2钱)")
    private Integer rewardOrientation;

    @ApiModelProperty(value = "奖惩形式(1奖2惩3奖与惩)")
    private Integer rewardType;

    @ApiModelProperty(value = "奖惩值(正为加  负为扣)")
    private BigDecimal rewardValue;

    @ApiModelProperty(value = "事件描述")
    private String eventDescribe;

    @ApiModelProperty(value = "现场取证图片")
    private String evidencePhotoList;

    @ApiModelProperty(value = "是否有追加责任(0:否 1:是)")
    private Integer extraDuty;

    @ApiModelProperty(value = "创建人ID")
    private String createUserId;

    @ApiModelProperty(value = "创建人")
    private String createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "审核状态")
    private Integer reviewState;

    @ApiModelProperty(value = "审核人ID")
    private String reviewUserId;

    @ApiModelProperty(value = "审核人")
    private String reviewUser;

    @ApiModelProperty(value = "审核时间")
    private Date reviewTime;

    @ApiModelProperty(value = "审核意见")
    private String reviewRemark;

    @ApiModelProperty(value = "图片存储路径")
    private List savePath;
    @ApiModelProperty(value = "事项追究责任")
    private List<EvalEventExtraduty> evalEventExtradutyList;
    @ApiModelProperty(value = "项目名称")
    private String evalItemName;
}
